طراحی وب با پایتون
نوشته شده توسط : کیمیا

پایتون برای وب: آنچه یک جوان برای کار و رشد باید بداند

ما یک متن خلاصه شده با اندیشه های اصلی Podon Junior Podcast درست کرده ایم: در آن ، ما بحث کردیم که کجا را شروع کنیم و کجا برویم برای یک توسعه دهنده مبتدی پایتون

پایتون 

موضوع اصلی:

  • یک برنامه نویس تازه کار برای انجام
    توسعه وب به چه دانش نیاز دارد ؟
  • انتظار کارفرمایان از توسعه دهندگان چیست؟
  • برای یافتن شغل بدون تجربه چه باید کرد؟
  • چگونه یک توسعه دهنده پایتون می تواند رشد کند؟

پادکست Python Junior پادکست برنامه نویسی برای کسانی است که می خواهند در پایتون بهتر شوند. زندگی ها توسط انجیلیست های جامعه پایتون مسکو و اساتید دوره های آموزشپایتونبرگزار می شود .

در این گفتگو حضور داشتند:

  • والنتین دومبروفسکی ،  بنیانگذار پایتون مسکو
  • زلاتا اوبوخوفسایا ،  تیم NVIDIA پیشرو است
  • گریگوری پتروف ،  بشارت دهنده پایتون مسکو
  • الکسی شتیرنیاف ،  توسعه دهنده  FinEx ،  مدرس دوره های آموزش
    پایتون

 

چرا پایتون برای توسعه وب خوب است

Valentin Dombrovsky   چرا پایتون برای توسعه وب مناسب است؟ چرا به عنوان مثال PHP یا جاوا اسکریپت نیست؟

گریگوری پتروف انتخاب خاصی وجود ندارد. علی رغم این واقعیت که در وب مدرن می توانید در واقع یک برنامه تک صفحه ای یا یک برنامه وب پیشرو بدون هیچ گونه پشتیبان بسازید - صرفاً در فناوری های جلویی ، در جاوا اسکریپت ، این هنوز هم بسیار دشوار است ، ضعیف سازی شده است و به توسعه دهندگان جالب توجه نیاز دارد.

اگر می خواهیم یک وب سایت یا سرویس ایجاد کنیم ، از یک روش ترکیبی استفاده می کنیم: ما نوعی باطن داریم که منطق را اجرا می کند و صفحات وب ایجاد می کند و برخی از صفحات پیش رو این صفحات وب را در مرورگر ترسیم می کند. و هنگامی که لازم است همه این موارد را به سرعت روی چیزی جمع کنیم ، پس انتخاب زیادی وجود ندارد.

بیایید نگاهی به گزینه های احتمالی بیندازیم.

  • C #  مایکروسافت واقعاً عالی است ، آنها دات نت هسته را ساخته و از هر لحاظ ممکن آن را تبلیغ می کنند. اولاً ، این یک فناوری کراس پلت فرم جدید است و هنوز همه چیز در آنجا روان نیست. ثانیا ، این واقعا گران است ، تعداد کمی از توسعه دهندگان C # وجود دارد - فقط به دلیل محبوب نبودن آن.
  • جاوا  پیچیده است ساخت یک وب سایت معمولی در جاوا مانند خط پایتون 10 خط کد نیست. این کدهای زیادی است ، اینها چارچوب هستند و شما باید از مشخصات پیکربندی سرورهای جاوا مطلع شوید. به طور کلی ، درد و رنج مداوم.
  • PHP  در آخرین نسخه ها ، عالی است. حتی این را می گویم: PHP 7.2 از پایتون بدتر نیست. اما نمی توانید فقط از PHP 7.2 استفاده کنید. اگر یک توسعه دهنده معمولی و غیر برتر وب سایتی در PHP ایجاد کند ، فقط در 7.2 نمی نویسد: شما هنوز هم باید برخی از کتابهای درسی ، آموزشها را بخوانید ، کد قدیمی زیادی در همه جا وجود دارد ، و این خیلی خوب نیست.
  • جاوا اسکریپتو Node.js.  این بسیار زیبا و بسیار مدرن است که هم در قسمت جلو و هم در انتهای آن زبان یکسانی داشته باشید. فقط خیلی پایدار نیست. Node.js چیز خوبی است ، اما استفاده از آن در تولید برای اینکه خراب نشود و پایدار کار کند مشکل ساز است. بعلاوه ، اگر می خواهیم کد جاوا اسکریپت با کیفیت بنویسیم ، به جاوا اسکریپت احتیاج نداریم ، بلکه به تایپ اسکریپت نیاز داریم. اما تایپ اسکریپت به طرز شگفت آوری پیچیده است و ذهن یک توسعه دهنده معمولی با دیدن آن جوش می زند.

 

بیایید از Ruby ، Haskell ، Erlang و موارد دیگر استفاده کنیم ، و ما با ... پایتون باقی می مانیم. زبانی با یک نحو سازگار ، کتابخانه استاندارد یکنواخت ، مستندات بهتر ، چارچوب های سبک سبک محبوب ، برداشت بزرگ جوانگو.

به نظر می رسد ، با وجود گسترده ترین انتخاب ، اگر توسعه دهندگان معمولی و غیر سطح بالا داشته باشیم ، ما یک تجارت معمولی هستیم که می خواهیم سایت های معمولی ایجاد کنیم ، ما برای 50 نفر بخش توسعه نداریم ، پس پایتون را می گیریم.

چه دانش لازم برای ورود به این حرفه است

زلاتا اوبوخوفسایا من معتقدم که یک چارچوب وجود دارد که شما باید آن را به خوبی بشناسید - و بدانید چه چارچوب های دیگری وجود دارد و چه زمانی از آنها استفاده می شود. کجای تورنادو ، کجا جنگو ، کجا فلاسک ، کجا aiohttp و غیره.
مفید است که بدانید چیزی به نام پروتکل وجود دارد. به طور خاص ، دانش پروتکل http در ساخت برنامه های وب مهم است.

همچنین باید حداقل چگونگی چیدمان پیش رو در پروژه های وب را تصور کنید: HTML ، CSS ، JS چیست.

الکسی اشتیرنیاف و بدانید که اسناد کجاست. مهمترین است.

گریگوری پتروف در اینجا ما در زمین بسیار متزلزل قدم می گذاریم. اگر ما بدشانس بودیم و به نوعی شروع به مطالعه جدی خط مقدماتی مدرن کردیم ، در این صورت 10 برابر پیچیده تر از باطن پایتون خواهد بود. یک توسعه دهنده مبتدی باید تمرکز خود را محدود کند تا بتواند یادگیری HTML را شروع کند ، اما برای اینکه در همه این تقسیم ها ، دهانه ها ، شناورها ، چگونگی تراز و قرارگیری همه چیز در آنجا قرار نگیرد.

الکسی اشتیرنیاف ما به یک دوره ابتدایی در بوت استرپ نیاز داریم. و اصول HTML.

در سال اول ، شما نباید در چارچوب های JS غوطه ور شوید (اگر تمرکز خود را روی قسمت باطن قرار داده اید). دوره ابتدایی بوت استرپ از قبل دارای ماژول های آماده است: اگر یک اسلایدر می خواهید ، یک اسلایدر درست کنید ، اگر یک منوی شناور می خواهید ، یک منوی شناور ایجاد کنید.

زلاتا اوبوخوفسایا من فکر می کنم که در حین مطالعه پیش فرض ، می توانید خود را غرق کنید ، به ویژه در نحوه استاتیک دادن به برنامه های وب به طور کلی. بنابراین توسعه دهنده شروع به یادگیری نحوه کارکرد اصولاً معماری برنامه های وب و نحوه زندگی آنها در تولید می کند.

گریگوری پتروف بله ، درصورت انتخاب پایتون به عنوان زبان توسعه باطن و به عنوان مثال جنگو به عنوان چارچوب خود ، بلافاصله آنرا پیشنهاد می كنم: جنگو مستنداتی در كتاب جنگو دارد ، واقعاً جالب است ، حاوی هر آنچه زلاتا گفته است ، این واقعا برای یک مبتدی خوب است.

الکسی شتیرنیایف اگر هدف یادگیری جنگو باشد ، برخی از دختران جنگو نیز برای شروع سریع مناسب هستند. این یک آموزش است ، جایی که در یک روز می توانید به بالا بروید ، اصول را بفهمید و چارچوب قادر به چه چیزی است.

Valentin Dombrovsky:  در حال آماده سازی برای ضبط پادکست ، لیستی از آنچه یک برنامه نویس پایتون برای توسعه وب نیاز دارد را جمع آوری کرده ایم ، همان چیزی که قبلاً خلاصه کردیم.

آنچه در اساس برای توسعه وب پایتون گنجانده شده است

 

  • چارچوب های وب Django ، Flask ، aiohttp ، Tornado و غیره (و از بقیه آنها آگاه باشید).
  • پروتکل ها و API ها: در درجه اول http ، JSON-RPC ، بافرهای پروتکل ، gRPC.
  • ORM و مهاجرت ها ، پایگاه داده های رابطه ای ، SQLAlchemy ، SQL ، PostgreSQL ، MySQL.
  • مبانی HTML ، CSS ، بوت استرپ و همچنین JS Frameworks و JQuery.
  • اصول کار برنامه در تولید ، آزمایش ، آزمایش واحد ، autotests ، سیستم های کنترل نسخه ، git.

پایتون

آیا یک بزرگتر به الگوریتم نیاز دارد

Zlata Obukhovskaya:  در ابتدا نیازی به دانستن الگوریتم ها نیستید ، اگر به مدت طولانی توسعه پیدا کنید به تدریج در ذهن شما ظاهر می شوند. من یک دسته مهندس خوب می شناسم که دوره الگوریتم رسمی خوبی نداشتند.

گریگوری پتروف من می خواهم به آتش سوخت اضافه کنم. اشتیاق ما به الگوریتم ها از کجا ناشی می شود؟

اکنون ما تحصیلات اساسی در الگوریتم ها نداریم ، ما نمی دانیم که چگونه به برنامه نویسان آموزش دهیم ، ما پایگاه فنی نداریم.

آنها در تلاشند این کار را انجام دهند ، اما در اینجا ما تاریخچه هاگوارتز را داریم: ما نمی توانیم مدرسه جادوگران بسازیم در حالی که یک جادوگر نداریم. بنابراین ، وقتی یک دانشگاه می آید و می پرسد: "شروع به آموزش برنامه نویسان" ، چه کاری باید انجام دهد ، اما آنها برنامه نویس ندارند ، زیرا همه در Mail.ru ، Rambler و یاندکس کار می کنند ، آنها در آنجا احساس خوبی دارند؟

در دانشگاه نگاه می کنند و می گویند:
- خوب ، برنامه نویسی. بیایید برخی از زمینه های تخصصی مرتبط را پیدا کنیم و از آنجا متخصصان دعوت کنیم. بیایید از روزنامه نگاران که می توانند متن بنویسند ، مهندسان برق که می توانند مدارهای الکتریکی ایجاد کنند و ریاضیدانانی که می توانند الگوریتم ها را انجام دهند دعوت کنیم.

در نتیجه ، معلوم می شود که صرفاً به دلیل اینکه آجر و سیمان از ذرات اولیه تشکیل شده اند ، به همان اندازه که فیزیک ذرات بنیادی به سازنده آموزش داده می شود ، مصلحت است.

در عین حال ، آنها در مورد سیمان و آجر خود صحبت نمی کنند ، زیرا فیزیکدانی که سعی در آموزش سازنده دارد ، نمی داند چگونه خانه بسازد. در نتیجه ، ما سازنده ای به دست می آوریم که می تواند نحوه کار "سیمان" را کاملاً توصیف کند ، اما هرگز آن را ندیده است و قادر به ساختن چیزی نیست.

الگوریتم ها و ساختارهای داده عالی هستند ، اما یک منطقه کاربردی بسیار کوچک هستند. به عنوان مثال ، اگر شما در حال نوشتن موتور بازی ، کامپایلر ، پروتکل شبکه هستید ، آنها به شدت مورد نیاز هستند.

بیشتر برنامه نویسان در مواردی که الگوریتم ها و ساختار داده ها مورد نیاز نیستند ، مشکلات تجاری را حل می کنند.

دشوارترین ریاضیات آنجاست که دو بار اضافه کنید و سپس تقسیم کنید. در آنجا شما به دانش کاملاً متفاوتی نیاز دارید. برای حل مشکلات تجاری ، شما بیشتر از دانش بنیادی ، به کاربرد نیاز دارید.

بهتر است که یک توسعه دهنده تازه کار ایده ای در مورد تجارت و چگونگی جمع آوری صحیح و سریع ساختارهای لازم از بلوک های آماده ، نحوه اشکال زدایی از آنها ، چگونگی اطمینان از متلاشی نشدن آنها داشته باشد ، بدانید چرا آنها از هم می پاشد ، چه اتفاقی می افتد که شرایط تغییر می کند و برنامه شروع به کار "روی خانه بنشینید" ، مثل خانه ای بعد از باران.
این موارد کاربردی و درک نحوه نوشتن نرم افزار است. او باید بداند که علاوه بر رفع اشکال ، مجموعه ای از ابزارها را در اختیار شما قرار می دهد که نشان می دهد دقیقاً در چه مکانی برنامه کند می شود.

والنتین دومبروفسکی چنین مقایسه ای به ذهنم خطور کرد: این ترجمه ای از زبان تجارت به زبانی است که در آن می توانید با کامپیوتر ارتباط برقرار کنید. یعنی برنامه نویس نوعی زبان شناس خاص است.

گریگوری پتروف تجارت به نویسنده نیاز دارد ، نه به زبان شناس. یک نویسنده نیازی به دانستن اینکه چرا هزار سال پیش این کلمه به آن تبدیل شده است. او باید بتواند این کلمات را به کار ببرد.

آنچه برای یافتن اولین شغل خود به عنوان توسعه دهنده نیاز دارید

الکسی شتیرنیایف احتمالاً هیچ دستور العمل جهانی برای تهیه یک جوان وجود ندارد.

اگر به برخی از شرکت ها بیایید ، استخدام نمی شوید زیرا شما Django ، JSON و برخی الگوریتم ها را می شناسید. شما به احتمال زیاد به دنبال مهارتهای مورد نیاز این شرکت در اینجا و اکنون خواهید رفت.

شرکت های زیادی وجود دارند و همه آنها الزامات مختلفی دارند. برای تهیه بیشتر رزومه و رفتن به یافتن شغل ، چنین دانش جهانی وجود ندارد.

گریگوری پتروف هنگامی که در VoxImplant به دنبال چندین خرداد بودیم ، مدیر فنی ما نیاز اساسی را به شرح زیر فرموله کرد: یک شخص باید بتواند مشکلات را حل کند. واضح است که ژوئن همیشه این کار را نه به بهترین شکل و نه همیشه به درستی انجام می دهد ، اما در حالت ایده آل شما یک فرد را با یک مشکل روبرو می کنید ، او آن را صاف و حل می کند. این مهارتی است که در وهله اول کارفرمایان به دنبال آن هستند.

زلاتا اوبوخوفسایا افرادی که به دنبال کار هستند و از مناطق دیگر نقل مکان می کنند ، دارای مزایای تجاری هستند ، زیرا آنها قبلاً راهی را طی کرده اند و قادر به حل سریع مشکلات هستند. این مهارت های نرم است ، حتی من آن را فرهنگ کار می نامم. غالباً ، دانش آموختگان دانشگاه هنوز این فرهنگ کار را توسعه نداده اند.

اما من هنوز هم می خواهم سعی کنم نوعی دستورالعمل برای مبتدیان ارائه دهم.

اولین قدم ها برای یک توسعه دهنده مبتدی

Zlata Obukhovskaya:  اول ، هنوز نوعی از پروژه خود شما است ، زیرا شما باید چیزی را در رزومه خود بنویسید ، یک نمونه کارها حداقل را نشان دهید. وقتی این پروژه ها برای شما ساخته نشده اند ، بلکه به صورت مستقل - برای کسی خنک ترند.

پس از اولین پروژه ها ، شما می توانید رزومه کاری خود را بسازید و آن را برای همه شرکت هایی که موقعیت های ژوئن وجود دارد ارسال کنید. مصاحبه ها بینشی در مورد نیاز شرکت ها فراهم می کند. دیر یا زود ، کسی شما را می برد ، حداقل در یک شرکت کوچک. متعاقباً ، این تجربه کاری به شما این فرصت را می دهد که وارد یک شرکت بزرگتر و جالبتر شوید.

والنتین دومبروفسکی به هر حال ، در دوره های آموزشی ما دانشجویان را آماده می کنیم تا پروژه خود را در 10 هفته مطالعه داشته باشند. بعلاوه ، ما مهارت توسعه تیم را آموزش می دهیم. اینها دقیقاً همان مهارتهای نرم است که زلاتا درباره آنها صحبت کرد.

الکسی اشتیرنیاف از تجربه می گویم که می توانید مدت طولانی به دنبال کار اول باشید. وقتی به دنبال یک یا دو ماه هستید ، اشکالی ندارد. اگر از همه شرکت ها درخواست می دهید ، برای مصاحبه بروید ، در ماه سوم قطعاً چیزی پیدا خواهید کرد.

Valentin Dombrovsky:  شما می توانید پروژه های خود را قطع کنید یا پروژه های ساده را به صورت آزاد انجام دهید و همزمان رزومه خود را ارسال کنید.

چشم انداز یک توسعه دهنده پایتون چیست؟

Zlata Obukhovskaya: یک  توسعه دهنده پایتون می تواند به هر جایی برود. شما می توانید به آزمایش بروید ، به توسعه یک معمار ارشد ادامه دهید. یا حتی مدیریت. مدیران فنی متفاوت هستند و شما می توانید به مدیریت عالی برسید. شما می توانید در علوم داده ، DevOps پیشرفت کنید ، به سراغ آزمایش های خودکار یا یادگیری ماشین بروید.

والنتین دومبروفسکی به طور کلی ، گزینه های زیادی نیز وجود دارد ، از جمله دوره های ما. شما در ورودی به دانش زیادی احتیاج ندارید ، اما توصیه می شود بعداً طیف وسیع تری را پوشش دهید ، زیرا هرچه بیشتر بتوانید ، بهتر برای شما خواهد بود.





:: برچسب‌ها: پایتون , توسعه وب , جاوا اسکریپت , طراحی وب , توسعه وب پایتون , ,
:: بازدید از این مطلب : 145
|
امتیاز مطلب : 0
|
تعداد امتیازدهندگان : 0
|
مجموع امتیاز : 0
تاریخ انتشار : یک شنبه 9 خرداد 1400 | نظرات ()
مطالب مرتبط با این پست
لیست
می توانید دیدگاه خود را بنویسید


نام
آدرس ایمیل
وب سایت/بلاگ
:) :( ;) :D
;)) :X :? :P
:* =(( :O };-
:B /:) =DD :S
-) :-(( :-| :-))
نظر خصوصی

 کد را وارد نمایید:

آپلود عکس دلخواه: